using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.ComponentModel;

//Importamos
//using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace EventSys.BussinesEntities
{
    public partial class Participante
    {
        public Participante()
        {
            this.Inscripcions = new List<Inscripcion>();
        }
        
        public Int32 idParticipante { get; set; }

        public string CodigoUpn { get; set; }

        [Required(ErrorMessage = "El DNI es Requerido")]
        [RegularExpression(@"[0-9]*", ErrorMessage = "digitar solo numeros")]
        public string DNI { get; set; }

        [Required(ErrorMessage = "El Nombre es Requerido")]
        [RegularExpression(@"[a-zA-ZñÑáéíóúÁÉÍÓÚ\s]{3,50}", ErrorMessage = "El Nombre esta mal escrito")]
        public string Nombres { get; set; }

        [Required(ErrorMessage = "El Apellido es Requerido")]
        [RegularExpression(@"[a-zñáéíóúA-ZÑÁÉÍÓÚ\s]{3,50}", ErrorMessage = "Los Apellidos estan mal escritos")]
        public string Apellidos { get; set; }

        [Required(ErrorMessage = "La Profesión es Requerida")]
        [RegularExpression(@"[a-zñáéíóúA-ZÑÁÉÍÓÚ\s]{5,50}", ErrorMessage = "La Profesión esta mal escrita")]
        public string Profesion { get; set; }

        public string CentroEstudios { get; set; }
        public string Grado { get; set; }

        [Required(ErrorMessage = "El Email es requerido")]
        [RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$", ErrorMessage = "E-mail no es valido")] 
        public string Email { get; set; }


        public string Direccion { get; set; }
        public string Telefono { get; set; }
        public string Cargo { get; set; }
        public string CentroLaboral { get; set; }

        //[Required(ErrorMessage = "El Lugar de destino es Requerido")]
        public string IdUbigeo { get; set; }
        public string ExperienciaLaboral { get; set; }
        public string GradosyCertificaciones { get; set; }
        public string Especializaciones { get; set; }
        public string Publicaciones { get; set; }

        [Required(ErrorMessage = "El Contraseña es Requerida")]
        //[DataType(DataType.Password)]
        //[Display(Name = "Password")]
        public string Contraseña { get; set; }

        //[DataType(DataType.Password)]
        //[Display(Name = "Confirm password")]
        [Compare("Contraseña", ErrorMessage = "La Contraseña y la confirmación de Contraseña no coinciden.")]
        public string confirPass { get; set; }

        public byte[] foto { get; set; }
        public string ImageMimeType { get; set; }

        public virtual Ubigeo Ubigeo { get; set; }
        public List<Inscripcion> Inscripcions { get; set; }
    }
}
